2026年3月CCF—GESP(Python一级)编程能力等级认证试卷
一级
2026
2026-07-28 09:49:32
209次
一、单选题
下面的Python代码用于求正整数各位数之和(即数位和) ,约定高位不为0 ,如123则各位数之和为 1+2+3结果为6 。为实现该目标 ,横线处应该填写的代码是( )。
N = int(input())
tnt = 0
while N != 0 :
_____________
_____________
print("各位数数之和为: " , tnt) | A.tnt += N // 10 N //= 10 | B.tnt += N % 10 N //= 10 |
| C.tnt += N % 10 N /= 10 | D.tnt = tnt + N % 10 N /= 10 |
【知识点】 CCF—GESP Python一级
在Python中,turtle .write()用于在当前坐标处输出文字。下面说法,错误的是()。
import turtle
for i in range(1,10):
turtle.write(f"{i}+{i}={i*2}")
turtle.goto(i*40,0)
turtle.done() | A. 1+1=2 输出在坐标原点,即(0 ,0) |
B. 1+1=2 的起点与2+2=4 的起点间隔40个像素 |
| C. 最后输出是10+10=20 |
D. 1+1=2 等输出文字的下面将有一条直线 |
【知识点】 CCF—GESP Python一级
有关下面Python 代码的说法,正确的是()。
import turtle turtle.forward(100) turtle.left(90) turtle.forward(100) turtle.goto(0, 0) turtle.done()
| A. 代码执行后,将输出等腰直角三角形 |
B. 代码执行后,将输出等长的两条边,其夹角为90度,因为没有画出斜边,因此不是三角形 |
| C. 代码执行后,90度夹角位于原点 |
D. 因为没有执行turtle .pendown(),所以不会画出图形 |
【知识点】 CCF—GESP Python一级
下面Python代码的相关说法 ,正确的是( )。
for i in range(1, 10): if i % 2 == 0: continue else: print(i, end = "#") print(i,"END")
| A. 上述代码执行后 ,其输出是 1#3#5#7#9#9END |
B. 删除 else: 后的执行效果与当前代码相同 |
| C. 删除 else: 且 print(i , end = "# ") 与if对齐 ,则执行效果与当前代码相同 |
D. 将 print(i , "END") 与if对齐 ,其执行效果与当前代码相同 |
【知识点】 CCF—GESP Python一级
下面的Python执行后如果输入8,希望输出如下图形。相关说法,正确的是()

import turtle
N = int(input("请输入射线数量: "))
Angle = 360 / N #计算出每条射线之间间隔的角度
for i in range(N):
turtle.right(Angle)
turtle.forward(100)
turtle.goto(0,0)
turtle.done() | A. Angle = 360 / N 应该修为Angle = 360 // N 才能实现输出效果 |
B. range(N)修改为range(1 , N + 1)效果相同,都能实现输出效果 |
| C. range(N)修改为range(1 , N)效果相同,都能实现输出效果 |
D. turtle .right(Angle)应该修正为turtle .right(i * Angle)才能达到预期效果 |
【知识点】 CCF—GESP Python一级
某个功能需要知道一个输入的正整数的各位数字中有多少个奇数,下面的Python代码是其实现,横线处应该填入的代码是()。
N = int(input())
odd_count = 0
while N > 0:
if ________:
odd_count += 1
N = N // 10
print(odd_count)
| A. N % 10 % 2 == 0 |
B. N % 10 % 2 == 1 |
| C. N // 10 // 2 == 1 |
D. N // 2 // 10 == 0 |
【知识点】 CCF—GESP Python一级
Python编程求数列 -1+2+3-4+5+6-7+8+9-10+11+12-13+ 之值 。如输入4 ,则计算1到4包含1和4之间的值 ,规律如数列所⽰ 。下面说法 ,正确的是( )。
N = int(input("请输入正整数:"))
tnt = 0
for i in range(1, N + 1):
if i % 3 == 1:
tnt += -i
else:
tnt += i
print(tnt) | A. range(1 , N + 1) 应该修为 range(1 , N) 才会符合预期 |
B. i % 3 == 1 应修改为 i % 3 == 0 才会符合预期 |
| C. i % 3 == 1 修改为 i % 3 与当前程序效果相同 |
D. 当前代码能达到题目所描述目标 |
【知识点】 CCF—GESP Python一级
二、判断题
下面的Python代码能实现判断输入的正整数是否为对称数 。所谓对称数是指从左到右和从右到左读该数 ,其值相同 ,如121或414等是对称数 ,而123不是对称数 。 ( )
n = int(input("请输入正整数:"))
old_number = n
new_number = 0
while n != 0:
new_number = new_number * 10 + n % 10
n //= 10
if old_number == new_number:
print("对称数")
else:
print("非对称数") | A.正确 | B.错误 |
【知识点】 CCF—GESP Python一级
三、编程题
数字替换
时间限制:1.0 s
内存限制:512.0 MB
题目描述
Alice 不喜欢数字 4,但觉得数字 8 寓意好,她想把数中的 4 全都替换成 8,若数中不含 4 则无需修改,你能帮帮她吗?
输入格式
输入一行,包含一个整数A,表示替换前的数。
输出格式
输出一行,包含一个整数B,表示替换后的数。
输入样例 #1
8459045
输出样例 #1
8859085
输入样例 #2
123
输出样例 #2
123
样例解释
对于样例1,输入 8459045 中有两个 4,都将其替换为了 8,得到 8859085。
对于样例2,输入 123 中不包含 4,无需修改输入数字,输出 123。
数据范围
0≤A≤108。
【知识点】 CCF—GESP Python一级
交朋友
时间限制:1.0 s
内存限制:512.0 MB
题目描述
Alice 班上共有 4 个小朋友,身高分别为H1,H2,H3,H4,其中 Alice 的身高为H1。
Alice 想要和身高最接近她的人交朋友,如果有多个人符合条件,则 Alice 想和其中较矮的那一人做朋友,你能告诉
她这个人的身高是多少吗?
输入格式
输入共4行,第i行包含一个整数Hi,表示班上小朋友的身高。
输出格式
输出1行,包含一个整数h,表示 Alice 想交的朋友的身高。
输入样例
150 165 135 133
输出样例
135
样例解释
样例 1 中,Alice 身高为 150,第 2、3 个小朋友与 Alice 身高差距为 15,同样最接近,Alice 选较矮的一个即第 3 个身高为 135 的小朋友交朋友。
数据范围
保证100≤Hi≤199且Hi互不相同。
【知识点】 CCF—GESP Python一级
